//
//  Status.swift
//  WeiBo_Private
//
//  Created by Yangperlove on 16/1/17.
//  Copyright © 2016年 Yangperlove. All rights reserved.
//

import UIKit

class Status: NSObject {
    ///微博创建时间
    var created_at: String?
    ///微博Id  OC: id是任意对象的关键字
    //Int  NSInteger  在iPhone 5 5c 4s 4 是32
    //Int 64  long long
    var id: Int64 = 0
    
    ///微博信息内容
    var text: String?
    
    ///微博来源
    var source: String?
    //用户 如果不做任何特殊处理 最终会对应上 一个 字典
    var user: User?
    
    //转发微博属性
    var retweeted_status: Status?
    
    //原创微博配图
    var pic_urls: [[String : String]]? {
        didSet {
            if pic_urls != nil && pic_urls?.count != 0{
                var picImages = [NSURL]()
            for temp in pic_urls! {
                let picImageUrl = NSURL(string: temp["thumbnail_pic"]!)
                picImages.append(picImageUrl!)
            }
                picImageUrls = picImages
            }
        }
    }
    
    //将配图的字符串转换成url
    var picImageUrls: [NSURL]?
    
    init(dict: [String : AnyObject]) {
        super.init()
        setValuesForKeysWithDictionary(dict)
    }
    
    override func setValue(value: AnyObject?, forUndefinedKey key: String) { }
    
    override func setValue(value: AnyObject?, forKey key: String) {
        //给user对象的属性赋值
        if key == "user" {
            if let dict = value as? [String : AnyObject] {
                user = User(dict: dict)
                //return  非常非常关键  如果不加return,前面的字典转模型 就白做了,因为后面又会调用父类的方法
                return
            }
        }
        
        if key == "retweeted_status" {
            if let dict = value as? [String : AnyObject] {
                retweeted_status = Status(dict: dict)
                return
            }
        }
        //调用父类的方法给其他属性赋值
        super.setValue(value, forKey: key)
    }
    
    
}
